【证件照API】接口说明,证件照生成API调用说明 您所在的位置:网站首页 在线证件照片制作 api 【证件照API】接口说明,证件照生成API调用说明

【证件照API】接口说明,证件照生成API调用说明

2024-07-17 20:39| 来源: 网络整理| 查看: 265

证件照制作+检测 一、请求信息

      请求URL:https://www.shiliuai.com/api/id_photo/v1

      请求方式:POST

      请求参数-请求头(Header):

参数 类型 说明 Content-Type string application/json APIKEY string 您的API KEY

      请求参数-请求内容(Body):

分类 参数 类型 说明 图片 base64 string, required base64编码的图片文件(小于20M),需要传入base64或者id id string, required 图片id,对于已经请求过的图片,如果需要改变水印,尺寸,颜色等参数,使用id而无需再上传base64 尺寸 dpi int, optional 生成证件照的dpi,默认为300 pxWidth int, optional 生成证件照的宽度(像素),可传入 (pxWidth, pxHeight) 或者 (mmWidth, mmHeight) 中的一对值,默认为 (295, 413) pxHeight int, optional 生成证件照的高度(像素) mmWidth int, optional 生成证件照的宽度(毫米) mmHeight int, optional 生成证件照的高度(毫米) 背景色 changeBg int, optional 0或1,是否抠图换背景,默认为1 transparentBg int, optional 0或1,是否返回透明底证件照,默认为0 bgColor string, optional 背景色的16进制表示,常用颜色有:白色:"FFFFFF",红色:"FF0000",蓝色:"438EDB",默认为白色 bgColor2 string, optional 渐变色的16进制表示,当提供bgColor2时,背景色会从顶部的bgColor渐变到底部的bgColor2,默认为空 人脸尺寸 faceWidth int, optional 人脸宽度(像素) minFaceWidth int, optional 最小人脸宽度(像素) maxFaceWidth int, optional 最大人脸宽度(像素) faceHeight int, optional 人脸长度(像素) minFaceHeight int, optional 最小人脸长度(像素) maxFaceHeight int, optional 最大人脸长度(像素) headTop int, optional 头顶与上边距离(像素) minHeadTop int, optional 头顶与上边最小距离(像素) maxHeadTop int, optional 头顶与上边最大距离(像素) eyesTop int, optional 眼睛与上边距离(像素) minEyesTop int, optional 眼睛与上边最小距离(像素) maxEyesTop int, optional 眼睛与上边最大距离(像素) 美颜 autoBright int, optional 0或1,是否自动调光,默认为0 brightFactor float, optional [0, 1],调光系数,默认为0.5 autoSmooth int, optional 0或1,是否自动磨皮,默认为0 smoothFactor float, optional [0, 1],磨皮系数,默认为0.5 autoThinFace int, optional 0或1,是否自动瘦脸,默认为0 thinFaceFactor float, optional [0, 1],瘦脸系数,默认为0.5 autoSharp int, optional 0或1,是否自动锐化,默认为0 sharpFactor float, optional [0, 1],锐化系数,默认为0.5 换装 clothesID string, optional 换正装,"man_1", ... , "man_20", "woman_1", ..., "woman_20", "child_1", ..., "child_10", 默认为空 预览 preview int, optional 0或1,是否预览,预览有水印,不扣积分,默认为0 watermarkID string, optional 定制化水印id,默认用系统水印 文件大小 quality int, optional 生成证件照的质量,[1, 100],越大生成的证件照文件越大,默认为92 minFileSize int, optional 生成证件照的最小文件大小,[0, inf],比如10240表示最小文件大小为10KB,只有当quality为空时起作用,默认为空 maxFileSize int, optional 生成证件照的最大文件大小,[0, inf],只有当quality为空时起作用,默认为空 标签 addLabel int, optional 0或1,是否在证件照底部加标签,默认为0 labelText string, optional 证件照底部标签内容,默认为空 labelHeight int, optional 证件照底部标签高度(像素),默认为30 排版 layout int, optional 0或1,是否返回排版,默认为0 layoutVertical int, optional 0或1,返回横版或竖版排版,默认为横版 layoutSize string, optional "5inch"或"6inch",排版尺寸五寸或六寸,默认为"5inch" layoutBgColor string, optional 排版背景色的16进制表示,比如:白色:"FFFFFF",默认为灰色 layoutQRCodeData string, optional 排版附加二维码数据,默认为空 layoutQRCodeSize int, optional 排版附加二维码尺寸像素,默认为290 layoutLabelText string, optional 排版附加文字,换行用\n表示,默认为空 合规检测 qualify int, optional 0或1,是否返回普通合规信息,默认为0 advancedQualify int, optional 0或1,是否返回高级合规信息,默认为0 二、返回信息

参数 说明 code 错误码 msg 错误信息(英文) msg_cn 错误信息(中文) id 图片id,用于同一张图片的多次请求,id的有效时间为6小时,(当code==0时会有该返回值) result_base64 证件照的base64编码,(当code==0时会有该返回值) layout_base64 排版的base64编码,(当code==0且请求参数layout==1时会有该返回值) info 普通合规信息,(当code==0且请求参数qualify==1时会有该返回值) advanced_info 高级合规信息,(当code==0且请求参数advancedQualify==1时会有该返回值)

      错误码说明:

错误码 说明 0 成功 1 图片错误 2 抠图错误 3 服务器繁忙 4 参数错误,具体错误看msg或msg_cn 5 换装时没检测到人脸 6 未知错误 7 图片id无效,可能已过期 101 API-KEY不正确 102 未知用户 103 积分已用完 104 扣除积分失败

      普通合规信息:

参数 类型 说明 qualified bool 是否合规(由face_width, face_height, head_top, eyes_top, eyes_angle决定) msg string 合规消息(英文) msg_cn string 合规消息(中文) has_face bool 是否检测到人脸 rotation int 图片旋转角度(0度,90度,180度,或者270度) face_width_qualified bool 人脸宽度是否合规 face_height_qualified bool 人脸长度是否合规 head_top_qualified bool 头顶至上边距离是否合规 eyes_top_qualified bool 眼睛至上边距离是否合规 eyes_angle_qualified bool 双眼连线角度是否合规 face_width int 生成证件照中人脸宽度 face_height int 人脸长度 head_top int 头顶至上边距离 eyes_top int 眼睛至上边距离 eyes_angle float 双眼连线角度 pupil_distance int 瞳距 eyes_center_from_left int 双眼中心与左边距离 eyes_center_from_bottom int 双眼中心与下边距离

      高级合规信息:

参数 类型 说明 qualified bool 是否合规,如果无人脸,戴帽子,墨镜,耳机,手机,口罩,模糊,过曝或欠曝,眉毛遮挡,嘴巴张开,则不合规。 注意:其他项目不计入判断。 msg string 合规消息(英文) msg_cn string 合规消息(中文) has_face bool 是否检测到人脸 face_count int 原图人脸个数 hat int 0或1,是否戴帽子 glasses int 0或1,是否戴眼镜 sunglasses int 0或1,是否戴墨镜 headphone int 0或1,是否戴耳机 earphone int 0或1,是否戴耳塞 cellphone int 0或1,是否用手机 earring int 0或1,是否戴耳饰 mask int 0或1,是否戴口罩 necklace int 0或1,是否戴项链 face_blur_score float [0, 1],脸部模糊程度,决定face_blur,默认阈值为0.6 face_blur bool 是否脸部模糊 face_overexposed_score float [0, 1],脸部过曝程度,决定face_overexposed,默认阈值为0.5 face_overexposed bool 是否脸部过曝 face_underexposed_score float [0, 1],脸部欠曝程度,决定face_underexposed,默认阈值为0.5 face_underexposed bool 是否脸部欠曝 eyebrow_occlusion_score float [0, 1],眉毛遮挡程度,决定eyebrow_occlusion,默认阈值为0.3 eyebrow_occlusion bool 是否眉毛遮挡 ear_occlusion_score float [0, 1],耳朵遮挡程度,决定ear_occlusion,默认阈值为0.8 ear_occlusion bool 是否耳朵遮挡 mouth_open_score float [0, 1],嘴巴张开程度,决定mouth_open,默认阈值为0.1 mouth_open bool 是否嘴巴张开 left_eye_occlusion_score float [0, 1],左眼遮挡程度,决定left_eye_occlusion,默认阈值为0.2 left_eye_occlusion bool 是否左眼遮挡 right_eye_occlusion_score float [0, 1],右眼遮挡程度,决定right_eye_occlusion,默认阈值为0.2 right_eye_occlusion bool 是否右眼遮挡 mouth_occlusion_score float [0, 1],嘴巴遮挡程度,决定mouth_occlusion,默认阈值为0.2 mouth_occlusion bool 是否嘴巴遮挡 nose_occlusion_score float [0, 1],鼻子遮挡程度,决定nose_occlusion,默认阈值为0.2 nose_occlusion bool 是否鼻子遮挡 left_cheek_occlusion_score float [0, 1],左脸遮挡程度,决定left_cheek_occlusion,默认阈值为0.3 left_cheek_occlusion bool 是否左脸遮挡 right_cheek_occlusion_score float [0, 1],右脸遮挡程度,决定right_cheek_occlusion,默认阈值为0.3 right_cheek_occlusion bool 是否右脸遮挡 yaw float [-90, 90],原图人脸偏航角 pitch float [-90, 90],原图人脸俯仰角 roll float [-90, 90],原图人脸翻滚角 hair_incomplete_score float [0, 1],头发不完整程度,决定hair_incomplete,默认阈值为0.1 hair_incomplete bool 是否头发不完整 shoulder_incomplete_score float [0, 1],肩膀不完整程度,决定shoulder_incomplete,默认阈值为0.5 shoulder_incomplete bool 是否肩膀不完整 clothes_color_light_score float [0, 1],衣服浅色程度,决定clothes_color_light,默认阈值为0.75 clothes_color_light bool 是否浅色衣服 eye_close_score float [0, 1],闭眼程度,决定eye_close,默认阈值为0.5 eye_close bool 是否闭眼 gaze_horizontal_score float [0, 1],视线水平偏移程度,决定gaze_horizontal,默认阈值为0.15 gaze_horizontal bool 是否视线水平偏移 gaze_vertical_score float [0, 1],视线竖直偏移程度,决定gaze_vertical,默认阈值为0.1 gaze_vertical bool 是否视线竖直偏移 gaze_straight bool 是否目光平视前方,当视线没有水平和竖直偏移时,为True 三、示例代码

Python 代码示例:

import requests import base64 import cv2 import json import numpy as np api_key = '******' # 你的API KEY file_path = '...' # 图片路径 with open(file_path, 'rb') as fp: photo_base64 = base64.b64encode(fp.read()).decode('utf8') url = 'https://www.shiliuai.com/api/id_photo/v1' headers = {'APIKEY': api_key, "Content-type": "application/json"} data = { "base64": photo_base64, "bgColor": "FFFFFF", "dpi": 300, "mmHeight": 35, "mmWidth": 25 } response = requests.post(url=url, headers=headers, json=data) response = json.loads(response.content) """ 成功:{'code': 0, 'msg': 'OK', 'msg_cn': '成功', 'id': id, 'result_base64': result_base64} or 失败:{'code': error_code, 'msg': error_msg, 'msg_cn': 错误信息} """ result_base64 = response['result_base64'] id = response['id'] file_bytes = base64.b64decode(result_base64) f = open('result.jpg', 'wb') f.write(file_bytes) f.close() image = np.asarray(bytearray(file_bytes), dtype=np.uint8) image = cv2.imdecode(image, cv2.IMREAD_COLOR) cv2.imshow('result', image) cv2.waitKey(0) # 同一张图片,参数改变,再次请求 data = { "id": id, "bgColor": "FF0000", "dpi": 300, "pxHeight": 640, "pxWidth": 480, } response = requests.post(url=url, headers=headers, json=data) response = json.loads(response.content)

PHP 代码示例:

$url = "https://www.shiliuai.com/api/id_photo/v1"; $method = "POST"; $apikey = "******"; $header = array(); array_push($header, "APIKEY:" . $apikey); array_push($header, "Content-Type:application/json"); $file_path = "..."; $handle = fopen($file_path, "r"); $photo = fread($handle, filesize($file_path)); fclose($handle); $photo_base64 = base64_encode($photo); $data = array( "base64"=> $photo_base64, "bgColor"=>"FFFFFF", "dpi"=>300, "mmHeight"=>35, "mmWidth"=>25 ); $post_data = json_encode($data); $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec($curl); var_dump($response);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有